home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / database / hl / hl-1.003 / hl-1 / DOCS / HomeLibr.doc < prev   
Text File  |  1995-04-14  |  52KB  |  1,744 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                                         Home  Librarian
  21.  
  22.                  A  Computerized  Library  Card  Catalog
  23.  
  24.                                                  System
  25.  
  26.  
  27.  
  28.                                                Robert Heller
  29.                                           Deepwoods Software
  30.                                            Wendell, MA, USA
  31.  
  32.  
  33.  
  34.                                                April 10, 1994
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.              This documentation was prepared with LaTEX.
  42.              This document describes version 1.0 Beta of the Home Librarian
  43.          package.
  44.  
  45.  
  46.              Copyright (c)1991, 1992 by Robert Heller D/B/A Deepwoods Software
  47.  
  48.  
  49.              All rights reserved. Permission is granted to copy this document in
  50.          electronic form only, so long as it is with the software it documents.
  51.          See Appendix B for complete licensing details.
  52.              The author, Robert Heller, may be contacted electronically (E-Mail)
  53.          via the following:
  54.  
  55.          FidoNet     1:321/153, Locks Hill BBS.
  56.  
  57.          CompuServe        71450,3432
  58.  
  59.          BIX    locks.hill.bbs
  60.  
  61.          InterNet     heller@cs.umass.edu
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.  
  74. Contents
  75.  
  76.  
  77.  
  78.  
  79.  
  80. Preface                                                                     vii
  81.  
  82. 1   Introduction.                                                           1
  83.     1.1   Basic Terminology   . . . . . . . . . . . . . . . . . . . . .   1
  84.           1.1.1    What is a Card Catalog Data Base?   . . . . . . .   1
  85.           1.1.2    What is a "card"?   . . . . . . . . . . . . . . . . .   1
  86.     1.2   Common GUI Definitions.  . . . . . . . . . . . . . . . . .   4
  87.           1.2.1    Keyboard Defin1tions.  . . . . . . . . . . . . . . .   4
  88.     1.3   How This Manual is Organized   . . . . . . . . . . . . . .   5
  89.           1.3.1    Creating and Modifing a Data Base.   . . . . . . .   5
  90.           1.3.2    Searching a Data Base.  . . . . . . . . . . . . . . .   5
  91.           1.3.3    Getting Hard Copy of a Data Base.  . . . . . . . .   5
  92.           1.3.4    Moving Data Bases Across Systems.   . . . . . . .   5
  93.           1.3.5    Licensing and Registation.  . . . . . . . . . . . . .   5
  94.  
  95. 2   Editing a Librarian Data Base.                                   7
  96.     2.1   Invoking EditLibr.  . . . . . . . . . . . . . . . . . . . . .   7
  97.     2.2   Using EditLibr.   . . . . . . . . . . . . . . . . . . . . . .   8
  98.           2.2.1    The Main Command Menu.  . . . . . . . . . . . .   8
  99.           2.2.2    Card Editor. . . . . . . . . . . . . . . . . . . . . .  11
  100.  
  101. 3   Searching a Data Base.                                            15
  102.     3.1   Invoking Librarian.  . . . . . . . . . . . . . . . . . . . .  15
  103.     3.2   Using Librarian.  . . . . . . . . . . . . . . . . . . . . . .  15
  104.           3.2.1    The Quit Menu Item.   . . . . . . . . . . . . . . .  15
  105.           3.2.2    The List Cards Menu Item.   . . . . . . . . . . .  17
  106.           3.2.3    The List Titles Menu Item.  . . . . . . . . . . .  17
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.                                          i
  114.  
  115.  
  116.  
  117.  ii                                                                  CONTENTS
  118.  
  119.  
  120.            3.2.4   The List Authors Menu Item.  . . . . . . . . . .  17
  121.            3.2.5   The List Subjects Menu Item.   . . . . . . . . .  17
  122.  
  123.  4   Printing Cards.                                                      19
  124.      4.1   Invoking PrintCards.   . . . . . . . . . . . . . . . . . . .  19
  125.      4.2   PrintCards Output.  . . . . . . . . . . . . . . . . . . . .  21
  126.  
  127.  5   Printing Labels.                                                      23
  128.      5.1   Invoking PrintLabels.  . . . . . . . . . . . . . . . . . . .  23
  129.      5.2   The Template File.  . . . . . . . . . . . . . . . . . . . . .  23
  130.      5.3   PrintLabels Output.   . . . . . . . . . . . . . . . . . . .  24
  131.  
  132.  A   Converting to and from Text Files.                            25
  133.      A.1   Invoking Libr2Ascii.   . . . . . . . . . . . . . . . . . . .  25
  134.      A.2   Invoking Ascii2Libr.   . . . . . . . . . . . . . . . . . . .  26
  135.      A.3   When You Need to Use These Programs.  . . . . . . . . .  26
  136.  
  137.  B   License and Warranty Information.                            27
  138.      B.1   Copyright.  . . . . . . . . . . . . . . . . . . . . . . . . . .  27
  139.      B.2   License.   . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
  140.            B.2.1   License to use.   . . . . . . . . . . . . . . . . . . .  27
  141.            B.2.2   License to copy.  . . . . . . . . . . . . . . . . . . .  27
  142.            B.2.3   No Support.  . . . . . . . . . . . . . . . . . . . . .  28
  143.      B.3   No Warranty.  . . . . . . . . . . . . . . . . . . . . . . . .  28
  144.  
  145.  C   Registration: Why bother?                                       31
  146.      C.1   What is Shareware? . . . . . . . . . . . . . . . . . . . . .  31
  147.      C.2   What You Get When You Register.  . . . . . . . . . . . .  31
  148.      C.3   If You Decide Not To Register.   . . . . . . . . . . . . . .  32
  149.      C.4   Why Not Simply Make It a Commercial Package?  . . . .  32
  150.  
  151.  D   Registration Form.                                                  33
  152.  
  153.  Index                                                                        35
  154.  
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166. List  of  Figures
  167.  
  168.  
  169.  
  170.  
  171.     1.1   Structure of a "Card Catalog Data Base".   . . . . . . . .   2
  172.  
  173.     2.1   Main command menu of EditLibr.  . . . . . . . . . . . .   9
  174.     2.2   Edit Card Screen of EditLibr. . . . . . . . . . . . . . . .  12
  175.  
  176.     3.1   Main command menu of Librarian.   . . . . . . . . . . .  16
  177.  
  178.     D.1   Registration Form . . . . . . . . . . . . . . . . . . . . . .  34
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.                                         iii
  206.  
  207.  
  208.  
  209.       iv                                                         LIST OF FIGURES
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222. List  of  Tables
  223.  
  224.  
  225.  
  226.  
  227.     1.1   Indices in a "Card Catalog Data Base". . . . . . . . . . .   2
  228.     1.2   Fields in a "card".   . . . . . . . . . . . . . . . . . . . . .   3
  229.     1.3   Allowed types for a "card".   . . . . . . . . . . . . . . . .   3
  230.     1.4   Common Key Bindings.   . . . . . . . . . . . . . . . . . .   4
  231.  
  232.     2.1   Card Editor Key Bindings.  . . . . . . . . . . . . . . . . .  12
  233.  
  234.     4.1   PrintCards options . . . . . . . . . . . . . . . . . . . . .  20
  235.     4.2   Expression operators  . . . . . . . . . . . . . . . . . . . .  20
  236.     4.3   Field types . . . . . . . . . . . . . . . . . . . . . . . . . .  21
  237.  
  238.     5.1   PrintLabels options  . . . . . . . . . . . . . . . . . . . .  24
  239.     5.2   PrintLabels Template File Field Replacement Formats.   24
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                          v
  262.  
  263.  
  264.  
  265.       vi                                                          LIST OF TABLES
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278. Preface
  279.  
  280.  
  281.  
  282.  
  283. The Home Librarian system maintains a database of "cards", which de-
  284. scribe books, magazines, video and audio tapes, CDs, record albums,
  285. laser disks, and other simular items. The data is indexed by a unique
  286. ID for each "card", a title index, an author index, and a subject in-
  287. dex.  Each card contains fields for a title, an author, a publisher, a
  288. year, a volume number, a description, and an item type.  The Home
  289. Librarian package has six programs: EditLibr for editing card catalog
  290. files, Librarian for searching card catalog files, PrintCards for make
  291. card catalog cards, PrintLabels for printing item labels, Libr2Ascii for
  292. dumping a card catalog file to a plain ASCII text format, and Ascii2Libr
  293. for building a card catalog file from an ASCII text file (as generated by
  294. Ascii2Libr).
  295.     I had two main goals in mind when I set out to write the Home
  296. Librarian package. First I wanted to learn C++ by writing some "real"
  297. programs, not just the exercises in the book, and secondly, I wanted
  298. to write a package to help me deal with my growing library of science
  299. fiction books, video tapes, and audio cassettes, which I estimate at
  300. about 1,000 items.  The first goal has pretty much been reached, in
  301. that I believe I h1ve a good working feel for C++.  My second goal is
  302. still in progress . I also wanted to experiment with writing a shareware
  303. package, to see if it is a viable source of income and not too much
  304. hassle, that is, to see if the cost/benifit tradeoff is reasonable.
  305.     If you have any comments about this package, please let me know.
  306. My electronic mail addresses are listed on the back side of the title page.
  307. My postal address is listed in Appendix D. I would be very interested
  308. in any comments users of the Home Librarian package might have.
  309. _________________________________
  310.    1As of this writing, I have not completed putting everything into the database.
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.                                         vii
  318.  
  319.  
  320.  
  321. viii                                                                      Preface
  322.  
  323.  
  324.     I'd like to thank my friend Ephraim St. George Robbins for helping
  325. me with this manual.
  326.  
  327.  
  328. Robert Heller
  329. Deepwoods Software
  330. Wendell, MA, USA
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343. Chapter  1
  344.  
  345.  
  346.  
  347. Introduction.
  348.  
  349.  
  350.  
  351.  
  352. 1.1       Basic  Terminology
  353.  
  354. The Home Librarian package works over files that are "Card Catalog
  355. Data Bases" which contain a number of "cards".
  356.  
  357.  
  358. 1.1.1       What is a Card Catalog Data Base?
  359.  
  360. A Card Catalog Data Base file contains a collection of "cards" that
  361. describe items in your library, such as books, magizines, records, and
  362. tapes. These cards are indexed with four indices as shown in Table 1.1.
  363. Each index uses 35 character strings as keys. The keys are always com-
  364. pared in a case-insensitive fashion. That is, "The Door Into Summer"
  365. is the same as "THE DOOR INTO SUMMER". Internally, the keys are con-
  366. verted to all uppercase letters. The id index indexes to the card records
  367. directly. The other three indices index to lists of ids, and thus index
  368. to the cards indirectly, as shown in Figure 1.1.
  369.  
  370.  
  371. 1.1.2       What is a "card"?
  372.  
  373. A card has a number of fields as shown in Table 1.2.  The id field could
  374. be an ISBN number, a LC call number, a Deuy-decimal call number,
  375. or any other unique identification code. The type field must be one of
  376. the types listed in Table 1.3.   The author and title fields are used
  377. for the author and title cross-references.
  378.  
  379.  
  380.  
  381.  
  382.                                          1
  383.  
  384.  
  385.  
  386.       2                                        CHAPTER 1.  INTRODUCTION.
  387.  
  388.  
  389.  
  390.  
  391.  
  392.  
  393.       ___________Table_1.1:_Indices_in_a_"Card_Catalog_Data_Base".______________
  394.       |Name    |    Description                                              |
  395.       |________|_____________________________________________________________|__
  396.       |id        |  This index is by a unique identifier.  Each card           |
  397.       |          |  has its own unique identifier.                             |
  398.       |title    |   This index is the title cross-reference.               |
  399.       |author   |   This index is the author cross-reference.            | |
  400.       |subject ||   This index is a subject index.                       ||
  401.       |________|__________________________________________________________|_____
  402.  
  403.  
  404.  
  405.  
  406.  
  407.  
  408.  
  409.  
  410.                Figure 1.1: Structure of a "Card Catalog Data Base".
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420.  
  421.  
  422.  
  423.  
  424.  
  425.  
  426.  
  427.  
  428.  
  429.       (dbstruct.doc goes here)
  430.  
  431.  
  432.  
  433. 1.1.  BASIC TERMINOLOGY                                             3
  434.  
  435.  
  436.  
  437.  
  438.  
  439.  
  440. ________________________Table_1.2:_Fields_in_a_"card".__________________
  441. |Name          |    Description                                      |
  442. |______________|_____________________________________________________|__
  443. |id              |  A unique identifier.                             |
  444. |type           ||  The type of item the card describes.         |   |
  445. |author        ||   For the author (or artist).                  |  |
  446. |title         ||   For the title.                                  |  |
  447. |publisher    | |   For the name of the publisher.                |    |
  448. |city         | |   For the city where the item was published. |  |
  449. |description |  |   For a long description.                    |    |
  450. |volume      | |    For the volume number.                       |  |
  451. |year          ||   For the year published.                      | |
  452. |_______________|__________________________________________________|____
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460. ___________________Table_1.3:_Allowed_types_for_a_"card"._____________
  461. |Name             |   Description                                  |
  462. |_________________|________________________________________________|__
  463. |Book              |  For books.                                   |
  464. |Magazine        | |  For magazines and periodicals.           |   |
  465. |CD              |  | For compact disks.                       | |
  466. |AudioCassette |    | For audio cassettes.                       ||
  467. |Album         |   |  For record albums.                         ||
  468. |LaserDisk       | |  For laser (video) disks.                   ||
  469. |VHSVideo        |    For VHS format video tape recordings. |     |
  470. |BetaVideo       |    For Beta format video tape recordings.||
  471. |EightMM         ||   For 8mm video tape recordings.         ||
  472. |EightTrack      ||   For 8-track audio recordings.           | |
  473. |DAT             | |  For 4mm digital audio tapes.             ||
  474. |Other             |  For anything else.                       |  |
  475. |__________________|______________________________________________|___
  476.  
  477.  
  478.  
  479.   4                                        CHAPTER 1.  INTRODUCTION.
  480.  
  481.  
  482.   ____________________Table_1.4:_Common_Key_Bindings.___________________________
  483.   |Special Key      |    Generic Key            |    Meaning                |
  484.   |_________________|___________________________|___________________________|___
  485.   |Home               |  Esc                      |  Exit or quit            |
  486.   |<- (left arrow)   ||  Ctrl-B                  ||  Move left               |
  487.   |-> (right arrow) ||   Ctrl-F                  |   Move right             ||
  488.   |^ (up arrow)     |    Ctrl-P                  |   Move up                |
  489.   |v (down arrow)  ||    Ctrl-N                  |   Move down             ||
  490.   |                |    |Delete or Backspace |   |   Delete previous char- |   |
  491.   |                     |                    |       acter                     |
  492.   |                     |Return or Enter       |     Accept  input  or  se-    |
  493.   |_____________________|______________________|_____lection___________________|
  494.  
  495.  
  496.  
  497.   1.2       Common  GUI  Definitions.
  498.  
  499.  
  500.  
  501.   1.2.1      Keyboard Defin1tions.
  502.  
  503.  
  504.   Both the EditLibr and Librarian programs use a terminal-based
  505.   "Graphical User Interface" (GUI). This is1a very simple interface that
  506.   works on any video display terminal (VDT) . The GUI routines use
  507.   cursor positioning and reverse video or standout mode and do "raw"
  508.   terminal input (single character input with normal operating system
  509.   input editing disabled), much like a screen-based text editor such as
  510.   Emacs.
  511.  
  512.       The input handling code expects a terminal that has arrow keys on
  513.   its keyboard, but will work with terminals whose keyboards do not have
  514.   arrow keys, by accepting "generic" control characters instead.  These
  515.   "generic" control characters were taken from Emacs's positioning bind-
  516.   ings. The common (used in all screens, except as noted) key bindings
  517.   are listed in Table 1.4.
  518.  
  519.  
  520.   _________________________________
  521.      1If you are using OSK, you need to set the TERM environment variable to the
  522.   terminal type.  Under MS-DOS, the terminal type is presumed to be an ANSI
  523.   terminal and you need to be running ANSI.SYS or something simular.
  524.  
  525.  
  526.  
  527. 1.3.  HOW THIS MANUAL IS ORGANIZED                           5
  528.  
  529.  
  530. 1.3       How  This  Manual  is  Organized
  531.  
  532. This manual is organized by functions -- each chapter describes the
  533. program(s) that perform a particular function.
  534.  
  535.  
  536. 1.3.1       Creating and Modifing a Data Base.
  537.  
  538. A data base file can be created and modified with the EditLibr program,
  539. which is described in chapter 2. This program creates and modifies card
  540. catalog data bases.
  541.  
  542.  
  543. 1.3.2       Searching a Data Base.
  544.  
  545. The Librarian program, which is described in chapter 3, is a program
  546. meant to be used to search card catalog data bases.
  547.  
  548.  
  549. 1.3.3       Getting Hard Copy of a Data Base.
  550.  
  551. A "hard copy" of the data base can be created with the PrintCards
  552. program which is described in chapter 4. This program is used to gen-
  553. erate either 3x5 or 5x8 cards. These cards are much like old-fashioned
  554. paper card catalogs.
  555.     The PrintLabels program, which is described in chapter 5, can be
  556. used to print labels or generate any other sort of hard copy or any sort
  557. of text file output from a card catalog data base.
  558.  
  559.  
  560. 1.3.4       Moving Data Bases Across Systems.
  561.  
  562. Appendix A is describes a pair of programs to convert a data base file
  563. from its normal binary format to a readily transportable ASCII text
  564. file format.
  565.  
  566.  
  567. 1.3.5       Licensing and Registation.
  568.  
  569. Appendix B contains the licensing information for this package.  Ap-
  570. pendix C talks about Shareware Registation.  Appendix D contains a
  571. Shareware Registation form for this package.
  572.  
  573.  
  574.  
  575.               6                                        CHAPTER 1.  INTRODUCTION.
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588. Chapter  2
  589.  
  590.  
  591.  
  592. Editing  a  Librarian  Data
  593.  
  594. Base.
  595.  
  596.  
  597.  
  598.  
  599. A Card Catalog Data Base is created and edited with the EditLibr
  600. prog1am.   This program uses a simple menu-driven, terminal-based
  601. GUI .
  602.  
  603.  
  604. 2.1       Invoking  EditLibr.
  605.  
  606. EditLibr is invoked from the command line, as follows, to edit an
  607. existing data base file:
  608.  
  609.  
  610. EditLibr -editfile <filename>
  611.  
  612.  
  613. or like this to create a new data base file:
  614.  
  615.  
  616. EditLibr -editfile <filename> -minpages <pages>
  617.  
  618.  
  619. where <filename> is the name of the file to be edited or created and
  620. <pages> is the number of index pages to pre-allocate when creating
  621. _________________________________
  622.    1See section 1.2 for GUI definations.
  623.  
  624.  
  625.  
  626.  
  627.                                          7
  628.  
  629.  
  630.  
  631. 8              CHAPTER 2.  EDITING A LIBRARIAN DATA BASE.
  632.  
  633.  
  634. a new file.  Each index page stores upto 21 index keys.  Remember,
  635. there are four indexes.  If while editing your data base, you run out
  636. of pre-allocated index pages, more will be allocated.  The difference
  637. will be that new index pages are allocated from the end of the file on
  638. an as needed basis.  If pages get allocated this way the index table
  639. will be fragmented. Pre-allocating the pa2es puts them all new at the
  640. beginning of the file, for faster access .
  641.  
  642.  
  643.  
  644. 2.2       Using  EditLibr.
  645.  
  646.  
  647. 2.2.1      The Main Command Menu.
  648.  
  649. When EditLibr starts up, it displays its main menu, as shown in Fig-
  650. ure 2.1.
  651.  
  652.  
  653. The Quit Menu Item.
  654.  
  655. The Quit menu item causes EditLibr to close the data base file and
  656. exit.
  657.  
  658.  
  659. The Edit a Card Menu Item.
  660.  
  661. The Edit a Card menu item is used to edit a specific card in the data
  662. base. You are prompted for a card id, and the card editor is invoked.
  663. The card editor is described in Section 2.2.2.
  664.  
  665.  
  666. The Delete a Card Menu Item.
  667.  
  668.  
  669.     The Delete a Card menu item is used to delete a selected card by
  670. its id. You are prompted for the id of the card to delete.
  671. _________________________________
  672.    2These pages are cached using a simple "virtual memory" scheme, so disk access
  673. is minimized.
  674.  
  675.  
  676.  
  677. 2.2.  USING EDITLIBR.                                                     9
  678.  
  679.  
  680.  
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.               Figure 2.1: Main command menu of EditLibr.
  691.  _____________________________________________________________________________
  692.  |                                                                           |
  693.  |                                                                           |
  694.  |                       Main Command Menu                                   |
  695.  |                                                                           |
  696.  | Quit                                                                      |
  697.  | Edit a Card                                                               |
  698.  | Delete a Card                                                             |
  699.  | Delete by Author                                                          |
  700.  | Delete by Title                                                           |
  701.  | Delete by Subject                                                         |
  702.  | List Cards                                                                |
  703.  | List Titles                                                               |
  704.  | List Authors                                                              |
  705.  | List Subjects                                                             |
  706.  | Spawn Shell                                                               |
  707.  |                                                                           |
  708.  |                                                                           |
  709.  |                                                                           |
  710.  |                                                                           |
  711.  |                                                                           |
  712.  |                                                                           |
  713.  |                                                                           |
  714.  |                                                                           |
  715.  |___________________________________________________________________________|
  716.  
  717.  
  718.  
  719. 10             CHAPTER 2.  EDITING A LIBRARIAN DATA BASE.
  720.  
  721.  
  722. The Delete by Author Menu Item.
  723.  
  724. The Delete by Author menu item is used to delete some or all cards
  725. for items written by a selected author. You are prompted for an author
  726. and then the card ids for that author are listed one by one and you are
  727. asked if you want to delete each card.
  728.  
  729.  
  730. The Delete by Title Menu Item.
  731.  
  732. The Delete by Title menu item is used to delete some or all cards
  733. for items with a selected title. You are prompted for an title and then
  734. the card ids for that title are listed one by one and you are asked if you
  735. want to delete each card.
  736.  
  737.  
  738. The Delete by Subject Menu Item.
  739.  
  740. The Delete by Subject menu item is used to delete some or all cards
  741. for items with a selected subject. You are prompted for an subject and
  742. then the card ids for that subject are listed one by one and you are
  743. asked if you want to delete each card.
  744.  
  745.  
  746. The List Cards Menu Item.
  747.  
  748. The List Cards menu item lists cards with their titles which have a
  749. common selected prefix for their id strings.  You are prompted for a
  750. search prefix and those cards with a matching prefix string in their id
  751. string are listed. You have the option of editing a selected card.
  752.  
  753.  
  754. The List Titles Menu Item.
  755.  
  756. The List Titles menu item lists titles with a common selected prefix
  757. string.  You are prompted for a search prefix and those titles with a
  758. matching prefix strin3 are listed. You have the option of selecting one
  759. of the listed titles , in which case t4e ids for the selected title are listed
  760. (much as in the List Cards menu item) .
  761. _________________________________
  762.    3If only one title matches, it is automatically selected
  763.    4If the title only refers to a single card, that card is placed in the card editor
  764. directly
  765.  
  766.  
  767.  
  768. 2.2.  USING EDITLIBR.                                                    11
  769.  
  770.  
  771. The List Authors Menu Item.
  772.  
  773. The List Authors menu item lists authors with a common selected
  774. prefix string. You are prompted for a search prefix and those authors
  775. with a matching prefix str5ng are listed. You have the option of selecting
  776. one of the listed authors , in which case the ids6for the selected author
  777. are listed (much as in the List Cards menu item) .
  778.  
  779.  
  780. The List Subjects Menu Item.
  781.  
  782. The List Subjects menu item lists subjects with a common selected
  783. prefix string. You are prompted for a search prefix and those subjects
  784. with a matching prefix stri7g are listed. You have the option of selecting
  785. one of the listed subjects , in which case the id8 for the selected subject
  786. are listed (much as in the List Cards menu item) .
  787.  
  788.  
  789. The Spawn Shell Menu Item.
  790.  
  791. The Spawn Shell menu item forks a sub-shell process.
  792.  
  793.  
  794. 2.2.2       Card Editor.
  795.  
  796. When the card editor is invoked, it checks to see if the card to be
  797. edited exists in the data base or not.  If the card does not exist, you
  798. are asked if you want to create a new card. The card editor then puts
  799. up a screen as in Figure 2.2. The card editor defines the key bindings
  800. shown in Table 2.1  The i (or I) key is used to modify fields. The id
  801. field cannot be modified. When the displayed card is different from the
  802. stored card, an asterisk (*) is displayed in the uppper left corner of the
  803. screen. Most of the fields are updated by simply typing the i (or I) key
  804. and then re-typing the field and pressing the Return or Enter key. Two
  805. fields are different. The description and subject fields are modified
  806. _________________________________
  807.    5If only one author matches, it is automatically selected
  808.    6If the author only refers to a single card, that card is placed in the card editor
  809. directly
  810.    7If only one subject matches, it is automatically selected
  811.    8If the subject only refers to a single card, that card is placed in the card editor
  812. directly
  813.  
  814.  
  815.  
  816.   12             CHAPTER 2.  EDITING A LIBRARIAN DATA BASE.
  817.  
  818.  
  819.  
  820.                   Figure 2.2: Edit Card Screen of EditLibr.
  821.    _____________________________________________________________________________
  822.    |                                                                           |
  823.    |                                                                           |
  824.    |                       Editing a Card                                      |
  825.    |                                                                           |
  826.    | Id:  <id>                                             Type:   <type>      |
  827.    | Title:   <title>                                                          |
  828.    | Author:   <author>                                                        |
  829.    | Publisher:   <publisher>                              Year:   <year>      |
  830.    | City:   <city>                                        Vol:  <volume>      |
  831.    | Description:     <description>                                            |
  832.    |                                                                           |
  833.    |                                                                           |
  834.    |                                                                           |
  835.    |                                                                           |
  836.    |                                                                           |
  837.    |                                                                           |
  838.    |                                                                           |
  839.    |                                                                           |
  840.    |                                                                           |
  841.    |                                                                           |
  842.    | Subjects:    <subject list>                                               |
  843.    |                                                                           |
  844.    |                                                                           |
  845.    |___________________________________________________________________________|
  846.  
  847.   ___________________Table_2.1:_Card_Editor_Key_Bindings.______________
  848.   |Special Key      |    Generic Key    |    Meaning                |
  849.   |_________________|___________________|___________________________|__
  850.   |Home               |  Esc              |  Exit                     |
  851.   |<- (left arrow)   ||  Ctrl-B          ||  Previous field          ||
  852.   |-> (right arrow) ||   Ctrl-F          |   Next field              ||
  853.   |^ (up arrow)     |    Ctrl-P          |   Previous field          ||
  854.   |v (down arrow)  ||    Ctrl-N          |   Next field              ||
  855.   |                |    |Tab or Ctrl-I | |   Next field               |
  856.   |                     |i or I        |  |  Modify current field   | |
  857.   |                     |Ctrl-L          ||  Repaint screen         |
  858.   |                     |?               | | Display help screen   ||
  859.   |                     |Ctrl-S          | | Save card             | |
  860.   |                     |h or H          ||  Give help for the cur-  | |
  861.   |_____________________|_________________|__rent_field________________|
  862.  
  863.  
  864.  
  865. 2.2.  USING EDITLIBR.                                                    13
  866.  
  867.                              9
  868. using an external text editor .  Entering the i (or I) key spawns the
  869. external editor with a temp file containing the field to be modified.
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909. _________________________________
  910.    9Defined by the EDITOR environment variable or umacs by default under OSK
  911. and ??? by default under MS-DOS.
  912.  
  913.  
  914.  
  915.                 14             CHAPTER 2.  EDITING A LIBRARIAN DATA BASE.
  916.  
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. Chapter  3
  929.  
  930.  
  931.  
  932. Searching  a  Data  Base.
  933.  
  934.  
  935.  
  936.  
  937. The Librarian program is used to search a data base file. It1is meant
  938. as a eletronic replacement for a card catalog. It uses a GUI
  939.  
  940.  
  941. 3.1       Invoking  Librarian.
  942.  
  943. Librarian is invoked from the command line:
  944.  
  945.  
  946. Librarian -infile <filename>
  947.  
  948.  
  949. where <filename> is the name of the file to be searched.
  950.  
  951.  
  952. 3.2       Using  Librarian.
  953.  
  954. When Librarian starts up, it displayes its main menu, as shown in
  955. Figure 3.1.
  956.  
  957.  
  958. 3.2.1       The Quit Menu Item.
  959.  
  960. The Quit menu item causes Librarian to close the data base file and
  961. exit.
  962. _________________________________
  963.    1See section 1.2 for GUI definations.
  964.  
  965.  
  966.  
  967.                                         15
  968.  
  969.  
  970.  
  971.   16                         CHAPTER 3.  SEARCHING A DATA BASE.
  972.  
  973.  
  974.  
  975.  
  976.  
  977.  
  978.  
  979.  
  980.  
  981.  
  982.  
  983.  
  984.                Figure 3.1: Main command menu of Librarian.
  985.    _____________________________________________________________________________
  986.    |                                                                           |
  987.    |                                                                           |
  988.    |                       Main Command Menu                                   |
  989.    |                                                                           |
  990.    | Quit                                                                      |
  991.    | List Cards                                                                |
  992.    | List Titles                                                               |
  993.    | List Authors                                                              |
  994.    | List Subjects                                                             |
  995.    |                                                                           |
  996.    |                                                                           |
  997.    |                                                                           |
  998.    |                                                                           |
  999.    |                                                                           |
  1000.    |                                                                           |
  1001.    |                                                                           |
  1002.    |                                                                           |
  1003.    |                                                                           |
  1004.    |                                                                           |
  1005.    |                                                                           |
  1006.    |                                                                           |
  1007.    |                                                                           |
  1008.    |                                                                           |
  1009.    |___________________________________________________________________________|
  1010.  
  1011.  
  1012.  
  1013. 3.2.  USING LIBRARIAN.                                                   17
  1014.  
  1015.  
  1016. 3.2.2       The List  Cards Menu Item.
  1017.  
  1018. The List Cards menu item lists cards with their titles which have a
  1019. common selected prefix for their id strings.  You are prompted for a
  1020. search prefix and those cards with a matching prefix string in their id
  1021. string are listed. You have the option of displaying a selected card.
  1022.  
  1023.  
  1024. 3.2.3       The List  Titles Menu Item.
  1025.  
  1026. The List Titles menu item lists titles with a common selected prefix
  1027. string.  You are prompted for a search prefix and those titles with a
  1028. matching prefix strin2 are listed. You have the option of selecting one
  1029. of the listed titles , in which case t3e ids for the selected title are listed
  1030. (much as in the List Cards menu item) .
  1031.  
  1032.  
  1033. 3.2.4       The List  Authors Menu Item.
  1034.  
  1035. The List Authors menu item lists authors with a common selected
  1036. prefix string. You are prompted for a search prefix and those authors
  1037. with a matching prefix str4ng are listed. You have the option of selecting
  1038. one of the listed authors , in which case the ids5for the selected author
  1039. are listed (much as in the List Cards menu item) .
  1040.  
  1041.  
  1042. 3.2.5       The List  Subjects Menu Item.
  1043.  
  1044. The List Subjects menu item lists subjects with a common selected
  1045. prefix string. You are prompted for a search prefix and those subjects
  1046. with a matching prefix stri6g are listed. You have the option of selecting
  1047. one of the listed subjects , in which case the id7 for the selected subject
  1048. are listed (much as in the List Cards menu item) .
  1049.  
  1050.  
  1051. _________________________________
  1052.    2If only one title matches, it is automatically selected
  1053.    3If the title only refers to a single card, that card is displayed directly
  1054.    4If only one author matches, it is automatically selected
  1055.    5If the author only refers to a single card, that card is displayed directly
  1056.    6If only one subject matches, it is automatically selected
  1057.    7If the subject only refers to a single card, that card is displayed directly
  1058.  
  1059.  
  1060.  
  1061.                 18                         CHAPTER 3.  SEARCHING A DATA BASE.
  1062.  
  1063.  
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074. Chapter  4
  1075.  
  1076.  
  1077.  
  1078. Printing  Cards.
  1079.  
  1080.  
  1081.  
  1082.  
  1083. The PrintCards program is used to generate either 3x5 or 5x8 cards.
  1084. PrintCards can generate a shelf list, an author index, a title index, or
  1085. a subject index. Partial listings can also be generated.
  1086.  
  1087.  
  1088. 4.1       Invoking  PrintCards.
  1089.  
  1090. PrintCards is invoked from the command line like this:
  1091.  
  1092.  
  1093. PrintCards -infile <filename> <options>
  1094.  
  1095.  
  1096. Where <filename> is the file to print cards from and <options> consist
  1097. of zero or more of the options listed in Table 4.1.             1
  1098.     The expression can contain the operators listed in Table 4.2 . Each
  1099. relational expression needs to specify a field name and a value.  The
  1100. value must be of the correct type as shown in Table 4.3. Some example
  1101. expressions:
  1102.  
  1103. author="Norton, Andre"&type=Book
  1104.  
  1105. year>1990&type=CD
  1106. _________________________________
  1107.    1Because some of these operators might be interpreted by the command processor
  1108. (shell), it may be necessary to escape or quote the expression string.
  1109.  
  1110.  
  1111.  
  1112.  
  1113.                                         19
  1114.  
  1115.  
  1116.  
  1117.    20                                     CHAPTER 4.  PRINTING CARDS.
  1118.  
  1119.  
  1120.  
  1121.  
  1122.  
  1123.    _______________________Table_4.1:_PrintCards_options_________________________
  1124.    |Syntax                               |   Description                     |
  1125.    |_____________________________________|___________________________________|__
  1126.    |-largep true|false              |        Selects between large (5x8)       |
  1127.    |                                |        or  small  (3x5)  cards.    If    |
  1128.    |                                |        true  large  cards  are  gen-     |
  1129.    |                                |        erated  and  if  false  small     |
  1130.    |                                |        cards are generated.              |
  1131.    |-by id|title|author|subject |            Selects the type of card to       |
  1132.    |                            |            generate:   shelf  list  cards    |
  1133.    |                            |            (id), title cards (title), au-    |
  1134.    |                            |            thor cards (author), or sub-      |
  1135.    |                            |   |        ject cards (subject).             |
  1136.    |-only <expression>              |        Used         to         select    |
  1137.    |                                |        a subset of cards to gener-       |
  1138.    |                                |        ate. <expression> is a rela-      |
  1139.    |________________________________|________tional_expression_comparing_______|
  1140.                                              fields to selected values.
  1141.  
  1142.  
  1143.  
  1144.  
  1145.                          Table 4.2: Expression operators
  1146.    ______________________________________________
  1147.    |Operator |    Meaning                     |
  1148.    |_________|________________________________|__
  1149.    |<           | Less than                    |
  1150.    |>           | Greater than                ||
  1151.    |=           | Equal to                    ||
  1152.    |!=         || Not Equal to               | |
  1153.    |<=         |  Less than or Equal to     ||
  1154.    |>=         |  Greater than or Equal to ||
  1155.    |&          || And                      |   |
  1156.    ||           | Or                           ||
  1157.    |!           | Not                          ||
  1158.    |(...)     | | Expression grouping       |  |
  1159.    |"..."     |   String constant           | |
  1160.    |__________|_______________________________|__
  1161.  
  1162.  
  1163.  
  1164. 4.2.  PRINTCARDS OUTPUT.                                              21
  1165.  
  1166.  
  1167. ____________________________Table_4.3:_Field_types
  1168. |Field        |  Type                           |
  1169. |_____________|_________________________________|_
  1170. |type        |   Type name (see Table 1.3) |
  1171. |author      |   String constant           |   |
  1172. |title       |   String constant               |
  1173. |publisher | |   String constant               |
  1174. |city      | |   String constant               |
  1175. |volume      |   Integer constant              |
  1176. |year        |   Integer constant              |
  1177. |____________|_________________________________|__
  1178.  
  1179.  
  1180.  
  1181. type=CD|type=Album
  1182.  
  1183. publisher="Random House"&city="New York, NY"
  1184.  
  1185. type=CD&author="Guns and Roses"
  1186.  
  1187. type=EightTrack&author="Hank Williams, Jr."
  1188.  
  1189. type=EightMM
  1190.  
  1191. title="The Door Into Summer"
  1192.  
  1193.  
  1194.  
  1195. 4.2       PrintCards  Output.
  1196.  
  1197. The output of PrintCards is to the standard output stream. This can
  1198. be redirected with the output redirection command line character (>)
  1199. or piped with the pipe character (! under OSK or | under MS-DOS).
  1200. The output is meant for continous pin-fed index cards.
  1201.  
  1202.  
  1203.  
  1204.                22                                    CHAPTER 4.  PRINTING CARDS.
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217. Chapter  5
  1218.  
  1219.  
  1220.  
  1221. Printing  Labels.
  1222.  
  1223.  
  1224.  
  1225.  
  1226. The PrintLabels program is meant primarily to generate labels for
  1227. items in your library, but it can also be used to generate just about any
  1228. formated textual output.
  1229.  
  1230.  
  1231.  
  1232. 5.1       Invoking  PrintLabels.
  1233.  
  1234. PrintLabels is invoked from the command line like this:
  1235.  
  1236.  
  1237. PrintLabels -infile <filename> -template <tfile> <options>
  1238.  
  1239.  
  1240. Where <filename> is the file to print labels from, <tfile> is a template
  1241. file and <options> consist of zero or more of the options listed in
  1242. Table 5.1.
  1243.     The expression can contain the operators listed in Table 4.2. Each
  1244. relational expression needs to specify a field name and a value.  The
  1245. value must be of the correct type as shown in Table 4.3.
  1246.  
  1247.  
  1248.  
  1249. 5.2       The  Template  File.
  1250.  
  1251. The template file is a text file that is copied to the standard output
  1252. stream for each card record processed.  The file is copied literally, ex-
  1253.  
  1254.  
  1255.  
  1256.                                         23
  1257.  
  1258.  
  1259.  
  1260.    24                                   CHAPTER 5.  PRINTING LABELS.
  1261.  
  1262.  
  1263.                          Table 5.1: PrintLabels options
  1264.    _____________________________________________________________________________
  1265.    |Syntax                               |   Description                     |
  1266.    |_____________________________________|___________________________________|__
  1267.    |-by id|title|author|subject |            Selects the type of label to      |
  1268.    |                            |            generate:   shelf  list  labels   |
  1269.    |                            |            (id),  title  labels  (title),    |
  1270.    |                            |            author  labels  (author),  or     |
  1271.    |                            |   |        subject labels (subject).         |
  1272.    |-only <expression>              |        Used         to         select    |
  1273.    |                                |        a subset of labels to gener-      |
  1274.    |                                |        ate. <expression> is a rela-      |
  1275.    |________________________________|________tional_expression_comparing_______|
  1276.    _Table_5.2:_PrintLabels_Template_File_FielfdelRsetplsalcceemevnltesFormats.
  1277.    |Field            |  Replaced by      |
  1278.    |_________________|___________________|___
  1279.    |%%               |  %                   |
  1280.    |%id              |  The id string.    | |
  1281.    |%type           ||  The type.         |
  1282.    |%author        ||   The author.      ||
  1283.    |%title         ||   The title.       | |
  1284.    |%publisher    | |   The publisher.   | |
  1285.    |%city         | |   The city.        | |
  1286.    |%volume        ||   The volume.      | |
  1287.    |%year          ||   The year.        ||
  1288.    |%description |  |   The description. ||
  1289.    |_____________|_______________________|___
  1290.  
  1291.  
  1292.    cept when a % character is encounted. This character indicates a field
  1293.    replacement as shown in Table 5.2.
  1294.  
  1295.  
  1296.    5.3       PrintLabels  Output.
  1297.  
  1298.    The output of PrintLabels is to the standard output stream. This can
  1299.    be redirected with the output redirection command line character (>)
  1300.    or piped with the pipe character (! under OSK or | under MS-DOS).
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313. Appendix  A
  1314.  
  1315.  
  1316.  
  1317. Converting  to  and  from  Text
  1318.  
  1319. Files.
  1320.  
  1321.  
  1322.  
  1323.  
  1324. The Libr2Ascii program converts a data base file to a portable ASCII
  1325. text file.   The Ascii2Libr takes the ASCII text file generated by
  1326. Libr2Ascii and re-creates the data base file.   These programs are
  1327. meant for converting the data base files to a form that can be readily
  1328. transfered between different systems.  The data base files themselves
  1329. use internal (CPU dependent) representation of the data stored, to al-
  1330. low rapid accessing and processing of the data.  Another thing these
  1331. programs do is to "compress" data base files, by discarding deleted and
  1332. inaccessable data.
  1333.  
  1334.  
  1335.  
  1336. A.1         Invoking  Libr2Ascii.
  1337.  
  1338. Libr2Ascii is invoked from the command line like this:
  1339.  
  1340.  
  1341.  
  1342. Libr2Ascii -infile <filename>
  1343.  
  1344.  
  1345.  
  1346. Where <filename> is the name of the file to be converted. The output
  1347. is sent to the standard output stream, where it can be redirected or
  1348. piped to other processing. This output is a plain text file.
  1349.  
  1350.  
  1351.  
  1352.                                         25
  1353.  
  1354.  
  1355.  
  1356. 26  APPENDIX A.  CONVERTING TO AND FROM TEXT FILES.
  1357.  
  1358.  
  1359. A.2        Invoking  Ascii2Libr.
  1360.  
  1361. Ascii2Libr is invoked from the command line like this:
  1362.  
  1363.  
  1364. Ascii2Libr -outfile <filename>
  1365.  
  1366.  
  1367. or like this to specify a new minimum page count:
  1368.  
  1369.  
  1370. Ascii2Libr -outfile <filename> -minpages <minpages>
  1371.  
  1372.  
  1373. Where <filename> is the name of the file to be created and <1inpages>
  1374. is the (optional) minimum number of index pages to allocate .
  1375.     The input to Ascii2Libr is from the standard input stream.
  1376.  
  1377.  
  1378. A.3        When  You  Need  to  Use  These  Pro-
  1379.  
  1380.            grams.
  1381.  
  1382. These programs convert a binary format card catalog data base file to
  1383. an easily transferable text file. All modern computer systems support
  1384. plain ASCII text files. The binary format contains processor-dependent
  1385. binary representations of the values use.
  1386.     These two programs can also be used to "compress" a data base
  1387. file. EditLibr makes no attempt to re-cycle data records. This is due
  1388. in part because these records are variable length. Maintaining a table
  1389. of "deleted" records, along with their sizes would involve considerable
  1390. overhead.  It is simpler to waste some disk space during the editing
  1391. process and reclaim it later with Libr2Ascii and Ascii2Libr.
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397. _________________________________
  1398.    1If <minpages> is not specified, the number of index pages to pre-allocate is
  1399. taken from the input stream and is just enough to hold the indices.
  1400.  
  1401.  
  1402.  
  1403.  
  1404.  
  1405.  
  1406.  
  1407.  
  1408.  
  1409.  
  1410.  
  1411.  
  1412. Appendix  B
  1413.  
  1414.  
  1415.  
  1416. License  and  Warranty
  1417.  
  1418. Information.
  1419.  
  1420.  
  1421.  
  1422.  
  1423. B.1        Copyright.
  1424.  
  1425. The entire Home Librarian package is copyrighted (c) 1991,1992 by
  1426. Robert Heller (DBA) Deepwoods Software. All rights reserved, except
  1427. as noted in Section B.2.
  1428.  
  1429.  
  1430.  
  1431. B.2        License.
  1432.  
  1433.  
  1434. B.2.1       License to use.
  1435.  
  1436. The software package known as the Home Librarian package is licensed
  1437. to anyone to use at no charge or fee, on any number of machines, by
  1438. any number of users.
  1439.  
  1440.  
  1441. B.2.2       License to copy.
  1442.  
  1443. The  Home  Librarian  package  may  be  freely  copied,  SO  LONG
  1444. AS THE COMPLETE PACKAGE OF SIX EXECUTABLE
  1445. PROGRAMS AND THE DOCUMENTATION FILES ARE
  1446. COPIED TOGETHER AS A UNIT. No charge or fee may be
  1447.  
  1448.  
  1449.  
  1450.  
  1451.                                         27
  1452.  
  1453.  
  1454.  
  1455. 28  APPENDIX B.  LICENSE AND WARRANTY INFORMATION.
  1456.  
  1457.                                    1
  1458. demanded for a copy of this package .
  1459.  
  1460.  
  1461. B.2.3       No Support.
  1462.  
  1463. Unless the package is registered, no customer support of any sort is
  1464. provided.
  1465.  
  1466.  
  1467. B.3        No  Warranty.
  1468.  
  1469. BECAUSE  THE  Home Librarian  PACKAGE  IS  LICENSED
  1470. FREE  OF  CHARGE,  THERE  IS  NO  WARRENTY  FOR
  1471. THE PACKAGE, TO THE EXTENT PERMITTED BY AP-
  1472. PLICABLE LAW. EXCEPT WHEN OTHERWISE STATED
  1473. IN  WRITING  THE  COPYRIGHT  HOLDERS  AND/OR
  1474. OTHER  PARTIES  PROVIDE  THE  PACKAGE  "AS  IS"
  1475. WITHOUT  WARRANTY  OF  ANY  KIND,  EITHER  EX-
  1476. PRESSED  OR  IMPLIED,  INCLUDING,  BUT  NOT  LIM-
  1477. ITED  TO,  THE    IMPLIED    WARRANTIES  OF  MER-
  1478. CHANTABILITY  AND  FITNESS  FOR  A  PARTICULAR
  1479. PURPOSE.  THE  ENTIRE  RISK  AS  TO  THE  QUALITY
  1480. AND  PERFORMANCE  OF  THE  PACKAGE  IS  WITH
  1481. YOU, THE USER. SHOULD THE PACKAGE PROVE DE-
  1482. FECTIVE,  YOU  ASSUME  THE  COST  OF  ALL  NECES-
  1483. SARY SERVICING, REPAIR OR CORRECTION.
  1484.     IN NO EVENT UNLESS REQUIRED BY APPLICABLE
  1485. LAW OR AGREED TO IN WRITING WILL ANY COPY-
  1486. RIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
  1487. REDISTRIBUTE THE PACKAGE AS PERMITED ABOVE,
  1488. BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
  1489. GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUEN-
  1490. TIAL DAMAGES ARISING OUT OF USE OF THE USE
  1491. OR  INABILITY  TO  USE  THE  PACKAGE  (INCLUDING
  1492. BUT NOT LIMITED TO LOSS OF DATA OR DATA BE-
  1493. ING RENDERED INACCURATE OR LOSSES SUSTAINED
  1494. _________________________________
  1495.    1A modest media or transmission charge or fee is allowed.  This charge or fee
  1496. should not exceed the cost of the media or the cost of the transmission.
  1497.  
  1498.  
  1499.  
  1500. B.3.  NO WARRANTY.                                                   29
  1501.  
  1502.  
  1503. BY YOU OR THIRD PARTIES OR A FAILURE OF THE
  1504. PACKAGE  TO  OPERATE  WITH  ANY  OTHER    PRO-
  1505. GRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY
  1506. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  1507. DAMAGES.
  1508.  
  1509.  
  1510.  
  1511.                 30  APPENDIX B.  LICENSE AND WARRANTY INFORMATION.
  1512.  
  1513.  
  1514.  
  1515.  
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522.  
  1523.  
  1524. Appendix  C
  1525.  
  1526.  
  1527.  
  1528. Registration:   Why  bother?
  1529.  
  1530.  
  1531.  
  1532.  
  1533. C.1        What  is  Shareware?
  1534.  
  1535. Shareware is software that is distributed freely, but with a voluntary
  1536. fee. Generally, this fee gets some extra benefits. In some cases, source
  1537. code is provided. In others a nice manual and/or customer support is
  1538. provided. Sometimes the freely distributed version has limited function-
  1539. ality and registration provides a fully functional version of the package
  1540. or program.
  1541.  
  1542.  
  1543. C.2        What You Get When You Register.
  1544.  
  1545. The Home Librarian package is fully functional as distributed freely.
  1546. You don't need to register it to make full use of the package. There are
  1547. advantages to registering your copy of the Home Librarian package.
  1548.     When you fill in the registration form (see Appendix D) and send
  1549. in your registration fee you will get two things:
  1550.  
  1551.     ╖  A printed manual, complete with a 3-ring binder.  This will be
  1552.        mailed to you using either UPS Ground or by special fourth class
  1553.        via the USPS. This manual will be printed with a high-resolution
  1554.        printer and the pages will be printed on both sides.
  1555.  
  1556.     ╖  Customer support.  This means you can ask me questions and
  1557.        I will try to answer them and try to help you with whatever
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.                                         31
  1564.  
  1565.  
  1566.  
  1567.          32                 APPENDIX C.  REGISTRATION: WHY BOTHER?
  1568.  
  1569.  
  1570.                problems you might have.  It also means I will really listen to
  1571.                your suggestions and comments.
  1572.  
  1573.  
  1574.          C.3        If  You  Decide  Not  To  Register.
  1575.  
  1576.          This is ok.  You are stuck with the plain ASCII text version of the
  1577.          manual that came with the package and are entirely on your own if
  1578.          you have problems or questions.  I will also "turn a deaf ear" to any
  1579.          suggestion or comments.
  1580.  
  1581.  
  1582.          C.4        Why  Not  Simply  Make  It  a  Com-
  1583.  
  1584.                     mercial  Package?
  1585.  
  1586.          Producing a slick, shrink-wrapped commercial package requires a cer-
  1587.          tain amount of investment in time and resources.  It would make the
  1588.          package more costly to the user (much more than the registration fee)
  1589.          and would put me in debt.  If it did not sell I could be stuck with a
  1590.          large debt.  It is posible, if this package is extremly popular, that a
  1591.          commercial version might be produced.  As a shareware package, the
  1592.          Home Librarian package can be distributed widely at low cost.  A lot
  1593.          of people can get a chance to try it out without having to pay.  If
  1594.          the package proves to be usefull, people can choose to pay the modest
  1595.          registration fee and get a nice manual and customer support.
  1596.  
  1597.  
  1598.  
  1599.  
  1600.  
  1601.  
  1602.  
  1603.  
  1604.  
  1605.  
  1606.  
  1607.  
  1608. Appendix  D
  1609.  
  1610.  
  1611.  
  1612. Registration  Form.
  1613.  
  1614.  
  1615.  
  1616.  
  1617. This is the Shareware Registration Form for1the Home Librarian pack-
  1618. age. Copy this form and mail it with $25.00  to:
  1619.                          Robert Heller
  1620.                          D/B/A Deepwoods Software
  1621.                          51 Locke Hill Road
  1622.                          Wendell, MA 01379-9728
  1623.                          USA
  1624.  
  1625.  
  1626.  
  1627.  
  1628.  
  1629.  
  1630.  
  1631.  
  1632.  
  1633.  
  1634.  
  1635.  
  1636.  
  1637.  
  1638.  
  1639.  
  1640.  
  1641.  
  1642.  
  1643.  
  1644. _________________________________
  1645.    1Check or money order, in USA funds, made payable to "Robert Heller".
  1646.  
  1647.                                         33
  1648.  
  1649.  
  1650.  
  1651. 34                             APPENDIX D.  REGISTRATION FORM.
  1652.  
  1653.  
  1654.                        Figure D.1: Registration Form
  1655. ___________________________________________________________________________________
  1656. Please answer all 5 of the following questions:
  1657.  
  1658. 1. Your name: _________________________________________________________________
  1659.  
  1660. 2. Your mailing address: ____________________________________________________
  1661.                          ____________________________________________________
  1662.                          ____________________________________________________
  1663.  
  1664. 3. Your e-mail address(es): __________________________________________________
  1665.                             __________________________________________________
  1666.                             __________________________________________________
  1667.                                                 ___      ___
  1668. 4. Which operating system are you using: MS-DOS |__| OSK |__|
  1669.  
  1670. 5. Name of BBS or information serivce you downloaded the Home Li-
  1671.       brarian from: ____________________________________________________________
  1672.  
  1673. The remaining questions are optional. You don't have to answer any of
  1674. the, but please try to answer as many as you feel like. These answers
  1675. will help me to make improvements in the Home Librarian package.
  1676.  
  1677. 6. Percentages of items in your library are:
  1678.       Printed materials (books_and magazines):          ___            ___
  1679.       0 to 20 |__| 21 to 40 |__| 41 to 60 |__| 61 to 80 |__| 81 to 100 |__|
  1680.       Audio materials (albums,_CDs, DATs, audio cassettes,_8-tracks):  ___
  1681.       0 to 20 |__| 21 to 40 |__| 41 to 60 |__| 61 to 80 |__| 81 to 100 |__|
  1682.       Video materials (VHS, Beta, 8mm, laser_disks):    ___            ___
  1683.       0 to 20 |__| 21 to 40 |__| 41 to 60 |__| 61 to 80 |__| 81 to 100 |__|
  1684.  
  1685. 7. What  do  you  like  about  the  user  interface  of  EditLibr  and
  1686.       Librarian? _____________________________________________________________
  1687.  
  1688. 8. What do you not like about the user interface of EditLibr and
  1689.       Librarian? _____________________________________________________________
  1690.  
  1691. ___________________________________________________________________________________
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702. Index
  1703.  
  1704.  
  1705.  
  1706.  
  1707. card, 1                                           form, 34
  1708.      description, 1                               What you get, 31
  1709.      editing, 11
  1710.      finding, 17                             shareware
  1711. card catalog db, 1                                What is, 31
  1712.      compressing, 26
  1713.      converting to text, 26                  warranty, 28
  1714.      editing, 7
  1715.      index pages in, 7, 26
  1716.      printing cards from, 19
  1717.      printing labels from, 23
  1718.      searching, 15
  1719. copyright, 27
  1720.  
  1721. GUI (Graphical User Interface),
  1722.          4
  1723.      card editor screen, 12
  1724.        key bindings in, 11
  1725.      editor main menu, 9
  1726.      librarian main menu, 16
  1727.  
  1728. Label Template File, 23
  1729.      field replacement in, 24
  1730. license, 27
  1731.  
  1732. -only expression, 19
  1733.      examples of, 19--21
  1734.      field types in, 21
  1735.      operators in, 20
  1736.  
  1737. registration
  1738.  
  1739.  
  1740.  
  1741.  
  1742.  
  1743.                                         35
  1744.